This invention relates generally to computer systems, and more particularly to graphical user interfaces for computer systems.
Graphical user interfaces or GUI are becoming increasingly popular with computer users. It is generally accepted that computers having graphical user interfaces are easier to use, and that it is quicker to learn an application program in a GUI environment than in a non-GUI environment.
A relatively new type of computer which is well suited for graphical user environments is the pen-based or pen-aware ("pen") computer system. A pen-based computer system is typically a small, hand-held computer where the primary method for inputting data includes a "pen" or stylus. A pen-aware computer system is one which has been modified to accept pen inputs in addition to traditional input methods. A pen computer system is often housed in a relatively flat enclosure, and has a dual-function display assembly which serves as both an input device and an output device. When operating as an input device, the display assembly senses the position of the tip of a stylus on the viewing screen and provides this positional information to the computer's central processing unit (CPU). Some display assemblies can also sense the pressure of the stylus on the screen to provide further information to the CPU. When operating as an output device, the display assembly presents computer-generated images on the screen.
The dual-function display assemblies of pen-based computer systems permit users to operate the computer as a computerized notepad. For example, graphical images can be input into the pen-based computer by merely moving the stylus across the surface of the screen. A stroke can be defined as the engagement of the screen with a stylus, the movement of the stylus across the screen (if any), and its subsequent disengagement from the screen. As the CPU senses the position and movement of the stylus, it generates a corresponding image on the screen to create the illusion that the stylus is drawing the image directly upon the screen, i.e. that the stylus is "inking" an image on the screen. With suitable recognition software, text and numeric information can also be entered into the pen-based computer system in a similar fashion. Besides serving as a notepad, pen-based computers can provide a number of useful functions, such as serving as an address book, an appointment calendar, a to-do list, etc.
A common feature of pen computers is the use of "gestures". Gestures are symbols entered on a screen of a pen computer by a pointing device that perform a specific function or command for the user. Gestures are entered on the screen by a user, recognized by the computer, and the corresponding function or command is then implemented. For example, a jagged line can be implemented as a "scrub" gesture. A user writes a jagged line over a preexisting object displayed on the screen. The computer recognizes the jagged line as a scrub gesture and implements the function of the gesture, which is to delete all objects which the scrub gesture overlays. Other gestures can include arrows or lines to change lowercase text to uppercase text (or vice versa), and a carat to insert text within a text object.
Gesture recognition of the prior art, however, does not address certain issues. The method used to recognize gestures in the prior art can be inefficient or sometimes unreliable. If a user enters a gesture that does not look very similar to the standardized gesture shape, then the gesture will not be recognized. What is needed is an efficient and reliable gesture recognizer that is more personalized to the user's handwriting.